<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>Voro++: voro::pre_container Class Reference</title>

<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />



</head>
<body>
<div id="top"><!-- do not remove this div! -->


<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  
  
  <td style="padding-left: 0.5em;">
   <div id="projectname">Voro++
   
   </div>
   
  </td>
  
  
  
 </tr>
 </tbody>
</table>
</div>

<!-- Generated by Doxygen 1.7.5.1 -->
<script type="text/javascript" src="dynsections.js"></script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li class="current"><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Data&#160;Fields</span></a></li>
    </ul>
  </div>
  <div id="nav-path" class="navpath">
    <ul>
      <li class="navelem"><b>voro</b>      </li>
      <li class="navelem"><a class="el" href="classvoro_1_1pre__container.html">pre_container</a>      </li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a>  </div>
  <div class="headertitle">
<div class="title">voro::pre_container Class Reference</div>  </div>
</div>
<div class="contents">
<!-- doxytag: class="voro::pre_container" --><!-- doxytag: inherits="voro::pre_container_base" -->
<p>A class for storing an arbitrary number of particles without radius information, prior to setting up a container geometry.  
 <a href="classvoro_1_1pre__container.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="pre__container_8hh_source.html">pre_container.hh</a>&gt;</code></p>
<div id="dynsection-0" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-0-trigger" src="closed.png" alt="+"/> Inheritance diagram for voro::pre_container:</div>
<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-0-content" class="dyncontent" style="display:none;">
 <div class="center">
  <img src="classvoro_1_1pre__container.png" usemap="#voro::pre_container_map" alt=""/>
  <map id="voro::pre_container_map" name="voro::pre_container_map">
<area href="classvoro_1_1pre__container__base.html" title="A class for storing an arbitrary number of particles, prior to setting up a container geometry..." alt="voro::pre_container_base" shape="rect" coords="0,0,157,24"/>
</map>
 </div></div>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classvoro_1_1pre__container.html#a6b1faf934a8f416c595b6f0be5832bbe">pre_container</a> (double ax_, double bx_, double ay_, double by_, double az_, double bz_, bool xperiodic_, bool yperiodic_, bool zperiodic_)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classvoro_1_1pre__container.html#ac68ce0449cf83ee282325d5302ffa4cd">put</a> (int n, double x, double y, double z)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classvoro_1_1pre__container.html#a0d62168ad0379672e038ec07cc362567">import</a> (FILE *fp=stdin)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classvoro_1_1pre__container.html#a84488a4453d94d6fef9afe2578c35adf">import</a> (const char *filename)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classvoro_1_1pre__container.html#a7a2e73ad34fbfe1001f59ea3b69f992f">setup</a> (<a class="el" href="classvoro_1_1container.html">container</a> &amp;con)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classvoro_1_1pre__container.html#a81aae000e3b787c58deef7a8f197bdc3">setup</a> (<a class="el" href="classvoro_1_1particle__order.html">particle_order</a> &amp;vo, <a class="el" href="classvoro_1_1container.html">container</a> &amp;con)</td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>The <a class="el" href="classvoro_1_1pre__container.html" title="A class for storing an arbitrary number of particles without radius information, prior to setting up ...">pre_container</a> class is an extension of the <a class="el" href="classvoro_1_1pre__container__base.html" title="A class for storing an arbitrary number of particles, prior to setting up a container geometry...">pre_container_base</a> class for cases when no particle radius information is available. </p>

<p>Definition at line <a class="el" href="pre__container_8hh_source.html#l00099">99</a> of file <a class="el" href="pre__container_8hh_source.html">pre_container.hh</a>.</p>
</div><hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a6b1faf934a8f416c595b6f0be5832bbe"></a><!-- doxytag: member="voro::pre_container::pre_container" ref="a6b1faf934a8f416c595b6f0be5832bbe" args="(double ax_, double bx_, double ay_, double by_, double az_, double bz_, bool xperiodic_, bool yperiodic_, bool zperiodic_)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">voro::pre_container::pre_container </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>ax_</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>bx_</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>ay_</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>by_</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>az_</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>bz_</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>xperiodic_</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>yperiodic_</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>zperiodic_</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>The class constructor sets up the geometry of container, initializing the minimum and maximum coordinates in each direction. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">(ax_,bx_)</td><td>the minimum and maximum x coordinates. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">(ay_,by_)</td><td>the minimum and maximum y coordinates. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">(az_,bz_)</td><td>the minimum and maximum z coordinates. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">(xperiodic_,yperiodic_,zperiodic_</td><td>) flags setting whether the container is periodic in each coordinate direction. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="pre__container_8hh_source.html#l00110">110</a> of file <a class="el" href="pre__container_8hh_source.html">pre_container.hh</a>.</p>

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a0d62168ad0379672e038ec07cc362567"></a><!-- doxytag: member="voro::pre_container::import" ref="a0d62168ad0379672e038ec07cc362567" args="(FILE *fp=stdin)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void voro::pre_container::import </td>
          <td>(</td>
          <td class="paramtype">FILE *&#160;</td>
          <td class="paramname"><em>fp</em> = <code>stdin</code></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Import a list of particles from an open file stream into the container. Entries of four numbers (Particle ID, x position, y position, z position) are searched for. If the file cannot be successfully read, then the routine causes a fatal error. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">fp</td><td>the file handle to read from. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="pre__container_8cc_source.html#l00192">192</a> of file <a class="el" href="pre__container_8cc_source.html">pre_container.cc</a>.</p>

</div>
</div>
<a class="anchor" id="a84488a4453d94d6fef9afe2578c35adf"></a><!-- doxytag: member="voro::pre_container::import" ref="a84488a4453d94d6fef9afe2578c35adf" args="(const char *filename)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void voro::pre_container::import </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>filename</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Imports particles from a file. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">filename</td><td>the name of the file to read from. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="pre__container_8hh_source.html#l00117">117</a> of file <a class="el" href="pre__container_8hh_source.html">pre_container.hh</a>.</p>

</div>
</div>
<a class="anchor" id="ac68ce0449cf83ee282325d5302ffa4cd"></a><!-- doxytag: member="voro::pre_container::put" ref="ac68ce0449cf83ee282325d5302ffa4cd" args="(int n, double x, double y, double z)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void voro::pre_container::put </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>n</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>z</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Stores a particle ID and position, allocating a new memory chunk if necessary. For coordinate directions in which the container is not periodic, the routine checks to make sure that the particle is within the container bounds. If the particle is out of bounds, it is not stored. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">n</td><td>the numerical ID of the inserted particle. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">(x,y,z)</td><td>the position vector of the inserted particle. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="pre__container_8cc_source.html#l00073">73</a> of file <a class="el" href="pre__container_8cc_source.html">pre_container.cc</a>.</p>

</div>
</div>
<a class="anchor" id="a7a2e73ad34fbfe1001f59ea3b69f992f"></a><!-- doxytag: member="voro::pre_container::setup" ref="a7a2e73ad34fbfe1001f59ea3b69f992f" args="(container &amp;con)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void voro::pre_container::setup </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classvoro_1_1container.html">container</a> &amp;&#160;</td>
          <td class="paramname"><em>con</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Transfers the particles stored within the class to a container class. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">con</td><td>the container class to transfer to. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="pre__container_8cc_source.html#l00101">101</a> of file <a class="el" href="pre__container_8cc_source.html">pre_container.cc</a>.</p>

</div>
</div>
<a class="anchor" id="a81aae000e3b787c58deef7a8f197bdc3"></a><!-- doxytag: member="voro::pre_container::setup" ref="a81aae000e3b787c58deef7a8f197bdc3" args="(particle_order &amp;vo, container &amp;con)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void voro::pre_container::setup </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classvoro_1_1particle__order.html">particle_order</a> &amp;&#160;</td>
          <td class="paramname"><em>vo</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classvoro_1_1container.html">container</a> &amp;&#160;</td>
          <td class="paramname"><em>con</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Transfers the particles stored within the class to a container class, also recording the order in which particles were stored. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">vo</td><td>the ordering class to use. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">con</td><td>the container class to transfer to. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="pre__container_8cc_source.html#l00145">145</a> of file <a class="el" href="pre__container_8cc_source.html">pre_container.cc</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="pre__container_8hh_source.html">pre_container.hh</a></li>
<li><a class="el" href="pre__container_8cc_source.html">pre_container.cc</a></li>
</ul>
</div>


<hr class="footer"/><address class="footer"><small>
Generated on Fri Sep 23 2011 22:49:07 for Voro++ by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>

</body>
</html>
